package com.spel.validate.annotation;


import com.spel.validate.enums.LogicalEnum;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 批里断言注解
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
@Inherited
public @interface BatchAssert {

    /**
     * 需要校验的权限
     */
    BaseAssert[] value() default {};

    /**
     * 校验逻辑:and并且, or或者
     * AND表示所有的 @BaseAssert 必须全部校验通过
     * OR表示 @BaseAssert 只要有一个满足条件,即通过校验
     */
    LogicalEnum Logical() default LogicalEnum.AND;
}
